草庐IT

TypeScript 教程

全部标签

javascript - TypeScript:如何在编译时声明固定大小的数组以进行类型检查

更新:这些检查适用于编译时,而不是运行时。在我的例子中,失败的案例都在编译时被捕获,我期望其他应该失败的案例有类似的行为。假设我正在编写一个类似表的类,我希望该类的所有成员都是相同长度的数组,例如:classMyClass{tableHead:string[3];//expecttobea3elementarrayofstringstableCells:number[3];//expecttobea3elementarrayofnumbers}目前我找到的最接近的解决方案是:classMyClass{tableHead:[string,string,string];tableCells

javascript - Typescript 和 jQuery 类型。导入 jquery 类型的正确方法?

是否可以包含jquery.d.ts并使用jQueryStatic类型?我需要类似的东西...protectedel:jQueryStatic;...无论我如何尝试,我都无法从https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/jquery导入jQueryStatic接口(interface)非常感谢。更新///errorTS2304:Cannotfindname'jQuery'.///import{jQuery}from'jquery';errorTS2305:Module'"jquery"'hasnoexpor

javascript - 从 TypeScript 扩展数组

我在下面的代码中做错了什么?我正在尝试在我的类MyNumberList上扩展Array,然后尝试使用它。我看到的是似乎没有任何项目被添加到列表中。当我尝试访问列表元素时,我得到一个undefined。P.S我正在使用TypeScript1.8.2classMyNumberListextendsArray{constructor(...numbers:number[]){//lookslikethisisnotworkingsuper(...numbers);}}letstatusCodes:MyNumberList=newMyNumberList(10,20,30);console.l

javascript - 检查 typescript 类是否有 setter/getter

我有一个具有以下属性的typescript类:exportclassapiAccount{private_balance:apiMoney;getbalance():apiMoney{returnthis._balance;}setbalance(value:apiMoney){this._balance=value;}private_currency:string;getcurrency():string{returnthis._currency;}setcurrency(value:string){this._currency=value;}...我需要为这个类创建一个空白实例:l

javascript - 如何在 TypeScript 中使用 moment-duration-format?

我在我的TypeScript(Ionic2/Angular2)项目中使用moment.js。继thispost,我现在想试用一个插件moment-duration-format我有npm包和类型定义,可以通过importas..使用。importmomentfrom'moment';...letduration=moment.duration(decimalHours,'hours');我现在想使用moment-duration-format我通过npminstallmoment-duration-format--save安装,然后通过npmi@types/moment-duratio

javascript - 找不到 Karma + Jasmine + TypeScript + Webpack 的源映射

我正在尝试使用Karma、Jasmine和Webpack测试(覆盖)我的TypeScript应用程序。通过以下,我能够成功运行测试,但无法正确生成覆盖率。我正在使用karma-remap-coverage(https://github.com/sshev/karma-remap-coverage),它看起来很简单。它看起来好像发生了一些有趣的事情(而且我得到了某种覆盖率报告)但是在这里和那里进行了一些调整,数字发生了巨大变化,我永远无法真正加载源map。这是基本设置:我有一个src目录,其中包含10个.ts文件。目前只有一个有相应的.spec文件。spec文件非常简单,足以证明我可以运

(过程超详细)适合新手的ATK-ESP8266+STM32F103系列单片机通过MQTT协议直连阿里云的教程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、所用到的硬件设备二、调试步骤1.固件的烧录2.创造阿里云的产品3.代码修改4.最终的硬件连接及效果图总结前言本教程适合第一次玩阿里云的小伙伴,当然需要一定的C语言基础+库函数的调试经验,所有例程都是库函数来着。另外,本教程是基于本人的调试过程,参考了很多大佬的调试经验,如OnePiece&。很多东西,比如MQTT协议我也只是懂一部分,但是关于MQTT协议在代码中的实现,本教程可以以简单明了的方式教会你只需要改几个特定的参数就能实现与任何你新创建的简单产品的互联。码字不易,代码和所有此过程中要用到的东西均会在本篇文章

新版 playCover 键位映射教程(mac 玩 ios 原神键位映射示例)

新版playCover键位映射教程(mac玩ios原神键位映射示例)首先我们先安装好playCover与原神,并成功打开游戏,还没有运行成功的可点击这里⇲查看游戏安装教程好的,下面我们开始进行键位映射1.首先我们打开游戏后先观察有没有鼠标,我们使用⌥option键可以来回切换是否释放鼠标,我们先将鼠标释放出来鼠标释放出来以后,相当于我们的触屏模式,鼠标就相当于我们的手指金铲铲之类的游戏我们大多使用触屏模式原神大世界时我们肯定需要非触屏模式(使用前需要设置映射),用鼠标来控制视角或攻击,键盘移动或释放技能等操作,在角色、背包等界面又需要使用触屏模式,我们可以使用快捷键⌥option来灵活切换2.

javascript - 你能在 TypeScript 接口(interface)中定义字符串长度吗?

我有一个这样的结构:structtTest{charfoo[1+1];charbar[64];};我有TypesScriptexportinterfacetTest{foo:string;bar:string;}有没有办法将[64]和[1+1]添加到类型中? 最佳答案 正如评论所说:js/ts不支持char类型,无法声明数组/字符串长度。不过,您可以使用setter强制执行:interfacetTest{foo:string;}classtTestImplementationimplementstTest{private_foo:s

javascript - 动态访问类 TypeScript 的方法

我正在尝试使用TypeScript中先前设置的变量的值动态访问类的方法。类似的东西:classFoo{bar(){}}varmethodName="bar";varfooBar=newFoo();fooBar.methodName();//IwouldlikethistoresolvetofooBar.bar();例如,在PHP中我可以执行以下操作:classFoo{publicfunctionbar(){}}$methodName="bar";$fooBar=newFoo();$fooBar.$methodName();//resolvestofooBar.bar();谁知道这是否可